var currentCid = 1; // 当前分类 id
var cur_page = 1; // 当前页
var total_page = 1;  // 总页数
var data_querying = true;   // 是否正在向后台获取数据
var next = null


$(function () {
    // 界面加载完成之后去加载新闻数据
    updateNewsData()

    // 首页分类切换
    $('.menu li').click(function () {
        // 取到指定分类的cid
        var clickCid = $(this).attr('data-cid')
        // 遍历所有的 li 移除身上的选中效果
        $('.menu li').each(function () {
            $(this).removeClass('active')
        })
        // 给当前分类添加选中的状态
        $(this).addClass('active')
        // 如果点击的分类与当前分类不一致
        if (clickCid != currentCid) {
            // 记录当前分类id
            currentCid = clickCid
            // 重置分页参数
            cur_page = 1
            total_page = 1
            updateNewsData()
        }
    })

    $("#click1").click(function () {
        if ($('#fouc1').prop('value')) {
            cur_page = 1
            PrintInput()
            $('.float-r').prop('value', '搜索中')
        }
    })
    $("#fouc1").keyup(function (even) {
        if (even.keyCode == 13) {
            if ($('#fouc1').prop('value')) {
                cur_page = 1
                PrintInput()
                $('.float-r').prop('value', '搜索中')
                $("#fouc1").blur()
            }
        }
    })
    $('.refresh').click(function () {
            //设置refresh的动画
            var deg = 0
            var time = setInterval(function () {
                if (deg > 360) {
                    // 需要重置num
                    deg = 0;
                }
                deg += 10
                $('.refresh').css({
                    "transform": "rotate(" + deg + "deg)"
                })
            }, 10)

        var params = {
            "cid": currentCid,
        }
        $.post("/news/refresh",params,function (resp) {
        })
        updateNewsData()
        clearInterval(time)
        }
    )


    //页面滚动加载相关
    $(window).scroll(function () {

        // 浏览器窗口高度
        var showHeight = $(window).height();

        // 整个网页的高度
        var pageHeight = $(document).height();

        // 页面可以滚动的距离
        var canScrollHeight = pageHeight - showHeight;

        // 页面滚动了多少,这个是随着页面滚动实时变化的
        var nowScroll = $(document).scrollTop();


        if ((canScrollHeight - nowScroll) < 100) {
            // 判断页数，去更新新闻数据
            if (!data_querying) {
                data_querying = true
                // 判断是否有下一页搜索，有则继续搜索
                if (next != null) {
                    PrintNext()
                }
                else {
                    data_querying = false
                }
            }
            if (!data_querying) {
                data_querying = true

                // 如果当前页数据如果小于总页数，那么才去加载数据
                if (cur_page < total_page) {
                    cur_page += 1
                    // 去加载数据
                    updateNewsData()
                }
                else {
                    data_querying = false
                }

            }
        }
    })
})

function updateNewsData() {
    // 更新新闻数据
    var params = {
        "cid": currentCid,
        "page": cur_page,
        'per_page': 10
    }
    $.get("/news/news_list", params, function (resp) {
        // 数据加载完毕，设置【正在加载数据】的变量为 false 代表当前没有在加载数据
        data_querying = false

        // 给总页数据赋值
        total_page = resp.total_page
        // 代表请求成功
        // 清除已有数据
        if (cur_page == 1) {
            $(".list_con").html("")
        }
        // 添加请求成功之后返回的数据

        // 显示数据
        for (var i = 0; i < resp.news_dict_li.length; i++) {
            var news = resp.news_dict_li[i]
            var content = '<li>'
            content += '<a href="/news/' + news.id + '" class="news_pic fl"><img src="' + news.index_image_url + '?imageView2/1/w/170/h/170"></a>'
            content += '<a href="/news/' + news.id + '" class="news_title fl">' + news.title + '</a>'
            content += '<a href="/news/' + news.id + '" class="news_detail fl">' + news.digest + '</a>'
            content += '<div class="author_info fl">'
            content += '<div class="source fl">来源：' + news.source + '</div>'
            content += '<div class="time fl">' + news.create_time + '</div>'
            content += '<div class="source fr">浏览量：' + news.clicks + '</div>'
            content += '</div>'
            content += '</li>'
            $(".list_con").append(content)
        }

    })
}

function PrintInput() {
    // 搜素
    var params = {
        "text": $('#fouc1').prop('value'),
        "page": cur_page,
        'page_size': 10
    }
    $.get("/news/search", params, function (resp) {
        // 数据加载完毕，设置【正在加载数据】的变量为 false 代表当前没有在加载数据
        data_querying = false

        // 给总页数据赋值
        total_page = resp.total_page
        next = resp.next
        // 代表请求成功
        // 清除已有数据
        if (cur_page == 1) {
            $(".list_con").html("")
        }
        // 添加请求成功之后返回的数据
        var repale_word = new RegExp($('#fouc1').prop('value'), 'g')
        // 显示数据
        for (var i = 0; i < resp.results.length; i++) {
            var news = resp.results[i].object
            var content = '<li>'
            content += '<a href="/news/' + news.id + '" class="news_pic fl" target="_blank"><img src="' + news.index_image_url + '?imageView2/1/w/170/h/170"></a>'
            content += '<a href="/news/' + news.id + '" class="news_title fl" target="_blank">' + news.title.replace(repale_word, "<span style='color: red'>" + $('#fouc1').prop('value') + "</span>") + '</a>'
            content += '<a href="/news/' + news.id + '" class="news_detail fl" target="_blank">' + news.digest.replace(repale_word, "<span style='color: red'>" + $('#fouc1').prop('value') + "</span>") + '</a>'
            content += '<div class="author_info fl">'
            content += '<div class="source fl">来源：' + news.source + '</div>'
            content += '<div class="time fl">' + news.get_time + '</div>'
            content += '<div class="source fr">浏览量：' + news.clicks + '</div>'
            content += '</div>'
            content += '</li>'
            $(".list_con").append(content)
            $('.float-r').prop('value', '搜索')

        }

    })
}

function PrintNext() {
    // 搜素下一页
    $.get(next, function (resp) {
        // 数据加载完毕，设置【正在加载数据】的变量为 false 代表当前没有在加载数据
        data_querying = false

        // 给总页数据赋值
        next = resp.next
        total_page = resp.total_page
        // 代表请求成功
        // 清除已有数据
        // 添加请求成功之后返回的数据
        var repale_word = new RegExp($('#fouc1').prop('value'), 'g')
        // 显示数据
        for (var i = 0; i < resp.results.length; i++) {
            var news = resp.results[i].object
            var content = '<li>'
            content += '<a href="/news/' + news.id + '" class="news_pic fl" target="_blank"><img src="' + news.index_image_url + '?imageView2/1/w/170/h/170"></a>'
            content += '<a href="/news/' + news.id + '" class="news_title fl" target="_blank">' + news.title.replace(repale_word, "<span style='color: red'>" + $('#fouc1').prop('value') + "</span>") + '</a>'
            content += '<a href="/news/' + news.id + '" class="news_detail fl" target="_blank">' + news.digest.replace(repale_word, "<span style='color: red'>" + $('#fouc1').prop('value') + "</span>") + '</a>'
            content += '<div class="author_info fl">'
            content += '<div class="source fl">来源：' + news.source + '</div>'
            content += '<div class="time fl">' + news.get_time + '</div>'
            content += '<div class="source fr">浏览量：' + news.clicks + '</div>'
            content += '</div>'
            content += '</li>'
            $(".list_con").append(content)
            $('.float-r').prop('value', '搜索')

        }

    })
}